<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    /*修饰符
        * g:全文搜索，不添加，搜索到第一个匹配停止
        * i:忽略大小写，默认大小写敏感
        * m:多行搜索
        * []:代表一个类
        * ^:代表创建一个反向类/负向类
        * [a-z]:表示从a到z的任意字符，是一个闭区间，内部可以连写。例：[a-zA-Z],[A-Z0-9]
        * .:[^\r\n]除了回车符和换行符之外的所有字符
        * \d:[0-9]数字字符
        * \D:[^0-9]非数字字符
        * \s:[\t\n\x0B\f\r]空白符
        * \S:[^\t\n\x0B\f\r]非空白符
        * \w:[a-zA-Z_0-9]单词字符（字母、数字下划线）
        * \W:[^a-zA-Z_0-9]非单词字符
        * ^:以xxx开始
        * $:以xxx结束
        * \b:单词边界
        * \B:非单词边界
        * ?:出现零次或者一次（最多出现一次）
        * +：出现一次或多次（至少出现一次）
        * *：出现零次或多次（任意次）
        * {n}:出现n次
        * {n,m}:出现n到m次
        * {n,}：至少出现n次
        *贪婪模式:会尽可能多的匹配，如\d{3,6}，会匹配6的数字
        *非贪婪模式：让正则竟可能少的匹配。量词后面加？ 例：\d{3,6}?
        *分组：使用()可以达到分组的功能，使量词可以作用在分组上。例：(boy){3}
        *   或:使用|可达到或的效果。例：boy|girl
        *   反向引用: 通过分组，可以$1到$n分别代表每个分组
        *   忽略分组：不希望捕获某些分组，只需要在分组内加上?: 例：(?:\d{4})
        *正向前瞻：exp(?=assert) 括号里的为断言，只是正则匹配的要求，不进行替换等操作。例：/\w(?=\d)/g 匹配前面为字符后面为数字的
        *负向前瞻：exp(?!assert) 例：/\w(?!\d)/g 匹配前面为字符后面不为数字的
    */

      var text=`He a boy. This  a dog. where  she?
       dsfklj das fasl fj fjdaslf is`;
      //将字符串中的is替换为大写的
      var reg=/\bis\b/g;//字面量正则
      var regs=new RegExp('\\bis\\b','g');//构造函数
      var newText=text.replace(regs,'IS');
      console.log(newText); 
    </script>
</body>
</html>